package com.ylwl.datacenterdemo.entity;

import lombok.Data;

/**
 * Excel导入配置类
 */
@Data
public class ExcelImportConfig {
    /**
     * 批处理大小
     */
    private int batchSize = 10000;
    
    /**
     * 线程池大小
     */
    private int threadPoolSize = 16;
    
    /**
     * 线程超时时间（秒）
     */
    private int threadTimeoutSeconds = 30;
    
    /**
     * 是否跳过空行
     */
    private boolean skipEmptyRows = true;
    
    /**
     * 是否启用性能监控
     */
    private boolean enablePerformanceMonitoring = true;
    
    public ExcelImportConfig() {
        // 根据CPU核心数和内存优化配置
        // i5-13400有16个逻辑处理器，对于IO密集型任务可以设置更高的并发度
        this.threadPoolSize = 16;
        // 增大批处理大小以减少线程切换开销，同时充分利用内存
        this.batchSize = 10000;
    }
    
    public ExcelImportConfig(int batchSize, int threadPoolSize) {
        this.batchSize = batchSize;
        this.threadPoolSize = threadPoolSize;
    }
}